/**
 * @param {number[]} nums
 * @return {number[][]}
 */
 var findSubsequences = function(nums) {
    let path = [], res = []
    const backTracking = function(startIndex){
      if(path.length > 1){
        res.push([...path])
      }
      let uset = []
      for(let i = startIndex;i < nums.length;i++){
        if(path.length > 0 && nums[i] < path[path.length - 1] || uset[nums[i]]){
          // 如果path里面已经有了元素 并且当前元素的大小小于path最后一个元素的大小 此时退出本次循环 
          // 如果这个数字 出现过 也退出本次循环 这是避免重复出现
          continue
        }
        path.push(nums[i])
        backTracking(i+1)
        path.pop()
      }
    }
    backTracking(0)
    return res
};